#ifndef _AFFICHAGE_SDL
#define _AFFICHAGE_SDL

#include <SDL/SDL.h>
#include <SDL/SDL_ttf.h>
#include <SDL/SDL_image.h>
#include "Jeu.h"


#ifndef _SDLJEU_H
#define _SDLJEU_H


/**
@brief la structure sdlJeu qui prend Jeu, les surfaces de fusee et leurs equipements (surfaceBombe pour fuseeHaut et surfaceMissile pour fuseeBas),
et deux entiers pour la position de l'image de fond d'ecran
**/
typedef struct
{
	Jeu jeu;
	SDL_Surface* surfaceEcran;
	SDL_Surface* surfaceFuseeHaut;
	SDL_Surface* surfaceFuseeBas;
	SDL_Surface* surfaceBombe;
	SDL_Surface* surfaceMissile;
	SDL_Surface* surfaceBonusVie;
    SDL_Surface *imageDeFond;
    SDL_Surface *pointsVieJoueur1;
    SDL_Surface *pointsVieJoueur2;
    TTF_Font *police;
    TTF_Font *grandePolice;

	float posXImageFond;
	float posYImageFond;

} sdlJeu;

/**
@brief la structure d'initialisation de la sdl qui prend un pointeurs sur sdlJeu
**/
void sdljeuInit(sdlJeu *pSdlJeu);

/**
@brief la structure d'affichage de la sdl qui prend un pointeurs sur sdlJeu
**/
void sdljeuAff(sdlJeu *pSdlJeu);


/**
@brief la structure Boucle qui permet de gerer les evenements de la sdl, elle prend un pointeurs sur sdlJeu
**/
void sdljeuBoucle(sdlJeu *pSdlJeu);

/**
@brief permet de lancer le jeu avec l'IA
**/
void sdljeuBoucle1Joueur(sdlJeu *pSdlJeu);

/**
@brief la structure sdlLibere qui prend un pointeurs sur sdlJeu nous permet de liberer les pointeurs.
**/
void sdlLibere(sdlJeu *pSdlJeu);

/**
@brief la structure  SDL_appliquer_surface nous permet d'appliquer une image sur l'ecran à une position donnée.
**/


void SDL_appliquer_surface( SDL_Surface* source, SDL_Surface* destination, int x, int y );

/**
@brief la structure SDL_charger_image nous permet de charger une image.
**/

SDL_Surface *SDL_charger_image(const char* nomFic);


#endif


